Amazon LexでSSMLを使用して設定したメッセージを日本語音声でテスト再生する方法
困っていること
Amazon Lexで音声合成マークアップ言語 (SSML) を使用して設定したメッセージを、日本語音声でテスト再生する方法を教えてください。
SSMLで設定したテキスト内容を実際の音声で確認するために、Lexボットの「Slots」の「Slot prompts」の「Play」ボタンを押すと英語の音声が再生されてしまいます。
日本語音声でテストする方法を教えてください。
<speak>
<prosody rate="slow">
ご要件、お名前、住所の3点をお伝え下さい。
</prosody>
無音の状態が一定時間ある場合、録音が切れますので、ご了承ください。
</speak>
以下のように日本語に設定しても、正しく再生されませんでした。
<speak>
<lang xml:lang="ja-JP">
<prosody rate="slow">
ご要件、お名前、住所の3点をお伝え下さい。
</prosody>
無音の状態が一定時間ある場合、録音が切れますので、ご了承ください。
</lang>
</speak>
なお、上記のSSML設定後にAmazon ConnectからLexを呼び出すと、設定したSSMLの内容が日本語音声で正しく反映されていることを確認できています。
回答
AWSドキュメントには記載されていませんが、「Speech Synthesis Markup Language」 の下にある「Play」ボタンでは、現時点で常に英語音声が使用される仕様となっていました。
そのため、Lexボットの設定やSSMLの設定に関わらず、日本語音声で再生することはできません。
再生する音声の言語を選択できるようにしたい場合は、AWSにフィードバックを送ることを検討してください。
現時点で日本語音声を確認したい場合は、Amazon PollyコンソールでSSMLを指定して音声を再生することで確認できます。
Lexボットでの設定と同じ音声を指定し、「入力テキスト」の右側にあるSSMLトグルボタンを有効にすると、SSMLを指定した音声を再生できます。